//package com.shwread.android.ui.dialog;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import logic.bean.StoreInfo;
//import logic.util.ScreenUtil;
//import logic.util.Util;
//import android.content.Context;
//import android.graphics.drawable.BitmapDrawable;
//import android.view.LayoutInflater;
//import android.view.View;
//import android.view.View.OnClickListener;
//import android.view.ViewGroup;
//import android.view.ViewGroup.LayoutParams;
//import android.widget.AbsListView;
//import android.widget.AdapterView;
//import android.widget.AdapterView.OnItemClickListener;
//import android.widget.BaseAdapter;
//import android.widget.GridView;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.PopupWindow;
//import android.widget.RelativeLayout;
//import android.widget.TextView;
//
//import com.amap.api.location.AMapLocation;
//import com.shwread.android.qysw10000133.R;
//
//
//public class OMChangeStorePopupWindow
//        extends
//        PopupWindow
//{
//
//	private Context                     context;
//	private OMChangeStoreDialogListener listener;
//	private GridView                    gvStore;
//	private StoreAdapter                adapter   = new StoreAdapter();
//	private List<StoreInfo>             storeInfo = new ArrayList<StoreInfo>();
//	private LinearLayout                llayEmpty;
//	private AMapLocation                location;
//	private ImageView                   imageView;
//	private String                      tip;
//
//	public OMChangeStorePopupWindow(Context context, String tip, OMChangeStoreDialogListener Listener) {
//		super(context);
//		this.context = context;
//		this.listener = Listener;
//		this.tip = tip;
//		findView();
//	}
//
//	public OMChangeStorePopupWindow(Context context, ImageView imageView, String tip, OMChangeStoreDialogListener Listener) {
//		super(context);
//		this.context = context;
//		this.listener = Listener;
//		this.imageView = imageView;
//		this.tip = tip;
//		findView();
//	}
//
//	public OMChangeStorePopupWindow(Context context, OMChangeStoreDialogListener Listener, List<StoreInfo> list) {
//		super(context);
//		this.context = context;
//		this.listener = Listener;
//		this.storeInfo = list;
//
//		findView();
//	}
//
//	public void setData(List<StoreInfo> list) {
//		this.storeInfo = list;
//		setGridViewHight();
//		adapter.notifyDataSetChanged();
//	}
//
//	public void setLocation(AMapLocation l) {
//		location = l;
//		adapter.notifyDataSetChanged();
//	}
//
//	private void setGridViewHight() {
//		LinearLayout.LayoutParams linearParams = (LinearLayout.LayoutParams) gvStore.getLayoutParams(); // 取控件mGrid当前的布局参数
//		if (storeInfo.size() > 6)
//		{
//			linearParams.height = ScreenUtil.dip2px((storeInfo.get(0).getDistance() == 0 ? 40 : 70) + 2) * 3;
//		}
//		else
//		{
//			linearParams.height = LinearLayout.LayoutParams.WRAP_CONTENT;
//		}
//		gvStore.setLayoutParams(linearParams); // 使设置好的布局参数应用到控件mGrid2
//	}
//
//	private void findView() {
//		View view = LayoutInflater.from(context).inflate(R.layout.om_change_store, null);
//		llayEmpty = (LinearLayout) view.findViewById(R.id.om_change_store_empty_view);
//		gvStore = (GridView) view.findViewById(R.id.om_change_store_gv);
//		gvStore.setAdapter(adapter);
//		gvStore.setOnItemClickListener(new OnItemClickListener()
//		{
//
//			@Override
//			public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//				listener.onClick(storeInfo.get(position));
//				dismiss();
//			}
//		});
//
//		llayEmpty.setOnClickListener(new OnClickListener()
//		{
//
//			@Override
//			public void onClick(View v) {
//				dismiss();
//			}
//		});
//		this.setHeight(LayoutParams.MATCH_PARENT);
//		this.setWidth(LayoutParams.MATCH_PARENT);
//		this.setBackgroundDrawable(new BitmapDrawable());
//		this.setOutsideTouchable(false);
//		this.setFocusable(true);
//		this.setContentView(view);
//	}
//
//	class StoreAdapter
//	        extends
//	        BaseAdapter
//	{
//
//		@Override
//		public int getCount() {
//			// TODO Auto-generated method stub
//			return (storeInfo == null || storeInfo.size() == 0 ? 0 : storeInfo.size());
//		}
//
//		@Override
//		public Object getItem(int position) {
//			// TODO Auto-generated method stub
//			return (storeInfo == null || storeInfo.size() == 0 ? "" : storeInfo.get(position));
//		}
//
//		@Override
//		public long getItemId(int position) {
//			// TODO Auto-generated method stub
//			return position;
//		}
//
//		@Override
//		public View getView(int position, View convertView, ViewGroup parent) {
//			ViewHolder holder = new ViewHolder();
//			if (convertView == null)
//			{
//				convertView = LayoutInflater.from(context).inflate(R.layout.om_change_store_item, parent, false);
//				holder.rlStoreName = (RelativeLayout) convertView.findViewById(R.id.om_change_store_item_store_name_rl);
//				holder.tvStoreName = (TextView) convertView.findViewById(R.id.om_change_store_item_store_name_tv);
//				holder.tvStoreDistance = (TextView) convertView.findViewById(R.id.om_change_store_item_store_distance_tv);
//				convertView.setTag(holder);
//			}
//			else
//			{
//				holder = (ViewHolder) convertView.getTag();
//			}
//			StoreInfo info = (StoreInfo) getItem(position);
//			holder.tvStoreName.setText(info.getName());
//			//			holder.tvStoreDistance.setVisibility(View.GONE);
//			if (!distanceSelf(info.getLongitude(), info.getLatitude(), info.getDistance()).equals(""))
//			{
//				holder.tvStoreDistance.setVisibility(View.VISIBLE);
//				holder.tvStoreDistance.setText(tip + distanceSelf(info.getLongitude(), info.getLatitude(), info.getDistance()));
//			}
//			else holder.tvStoreDistance.setVisibility(View.GONE);
//			if (info.getDistance() == 0)
//			{
//				holder.rlStoreName.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, ScreenUtil.dip2px(40)));
//			}
//			else
//			{
//				holder.rlStoreName.setLayoutParams(new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, ScreenUtil.dip2px(70)));
//			}
//			return convertView;
//		}
//
//	}
//
//	class ViewHolder
//	{
//		TextView       tvStoreName;
//		TextView       tvStoreDistance;
//		RelativeLayout rlStoreName;
//	}
//
//	public String distanceSelf(double gpsX, double gpsY, double d) {
//		String distance = "";
//		try
//		{
////			if (location == null || location.getLatitude() == 0 || location.getLongitude() == 0 || gpsY == 0 || gpsX == 0) { return ""; }
//			if (d > 1000)
//			{
//				distance += ((d >= 10000 && (((int) (d / 1000)) % 1 == 0)) || ((((int) ((d -= d % 100) / 100)) % 10 == 0) && d < 10000) ? String.format("%.0f", d / 1000) : String.format("%.1f", d / 1000)) + " k";
//			}
//			else if (d == -1)
//			{
//				return "";
//			}
//			else if (d < 100)
//			{
//				distance += "" + 100;
//			}
//			else distance += (int) d + " ";
//		}
//		catch (Exception e)
//		{
//			return "";
//		}
//		return distance + "m";
//	}
//
//	@Override
//	public void dismiss() {
//		if (imageView != null)
//		{
//			imageView.setImageResource(R.drawable.change_store_icon);
//		}
//		super.dismiss();
//	}
//}
